/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package rmi;

import java.rmi.Naming;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

/**
 *
 * @author morgan
 */
public class ServerChaineRegistry {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        String nom = "";
        int nombre = 1;
        int port = 1099;
        Registry registry = null;
        // récupération des arguments
//        if (args.length != 3) {
//            System.out.println("Server <nom générique des objets distants> <port du registry> <nombre de noms> ");
//            System.exit(1);
//        }
//        try {
//            nom = args[0];
//            port = Integer.parseInt(args[1]);
//            nombre = Integer.parseInt(args[2]);
//        } catch (Exception e) {
//            System.out.println("Server <nom générique des objets distants> <port du registry> <nombre de noms> ");
//            System.exit(1);
//        }
        
        nombre = 4;
        
        //installation du securityManager
        if (System.getSecurityManager() == null) {
            System.setSecurityManager(new RMISecurityManager());
            // System.out.println(appsm.toString());
        }

        //Mise en place du registry
        try {
            registry = LocateRegistry.createRegistry(1099);
        } catch (RemoteException e1) {
            System.out.println("Error creating registry");
            e1.printStackTrace();
        }

        try {
            for (int i = 1; i <= nombre; i++) {
                //Construction et exportation des objets distants
                String name = "Hotels" + i;
                Chaine ch = new Chaine("DataStore/" + name + ".xml");
                System.out.println(name + " créé");
                Naming.rebind(name, ch);

            }
            
            Annuaire an = new Annuaire("DataStore/Annuaire.xml");
            Naming.rebind("Annuaire", an);
            
            System.out.println("Tous les objets sont enregistrés dans le serveur d'objets distants");
        } catch (Exception e) {
            System.out.println("Server err: " + e);
        }
    }
}
